#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project ：back 
@File    ：complaint_proto.py
@IDE     ：PyCharm 
@Author  ：七分是你
@Date    ：2024/7/2 上午11:33 
@explain : 
"""
from enum import Enum
from typing import Optional, Union

from pydantic import BaseModel, Field


class StatusEnum(Enum):
    未处理 = '未处理'
    处理中 = '处理中'
    已解决 = '已解决'
    已关闭 = '已关闭'


class ComplaintRequestParam(BaseModel):
    id: Optional[int] = Field(default=None, description="ID", examples=["1"])
    uid: Optional[int] = Field(default=None, description="用户ID", examples=["1"])
    name: Optional[str] = Field(default=None, description="姓名", examples=["test"])
    card: Optional[str] = Field(default=None, description="身份证号", examples=["test"])
    phone: Optional[str] = Field(default=None, description="电话", examples=["test"])


class ComplaintData(BaseModel):
    id: Optional[int] = Field(default=None, description="ID", examples=["1"])
    uid: Optional[int] = Field(default=None, description="ID", examples=["1"])
    complaint: Optional[int] = Field(default=None, description="1投诉2举报", examples=["test"])
    complainttype: Optional[str] = Field(default=None, description="投诉类型", examples=["test"])
    content: Optional[str] = Field(default=None, description="投诉内容", examples=["test"])
    project: Optional[str] = Field(default=None, description="项目方", examples=["test"])
    zbdwname: Optional[str] = Field(default=None, description="总包单位", examples=["test"])
    signcontract: Optional[int] = Field(default=None, description="是否签署劳动合同1是2否", examples=["test"])
    contractattachments: Optional[str] = Field(default=None, description="添加合同附件", examples=["test"])
    attendance: Optional[int] = Field(default=None, description="本人是否落实实名制考勤1是2否", examples=["test"])
    totalattendance: Optional[int] = Field(default=None, description="考勤总月数", examples=["test"])
    workt: Optional[str] = Field(default=None, description="工种", examples=["test"])
    payoff: Optional[int] = Field(default=None, description="已发工资月数", examples=["test"])
    amount: Optional[Union[int, float]] = Field(default=None, description="已发工资金额", examples=["test"])
    arrearsmonths: Optional[int] = Field(default=None, description="拖欠工资月数", examples=["test"])
    arrearsamount: Optional[Union[int, float]] = Field(default=None, description="拖欠工资金额", examples=["test"])
    unpaidwagest: Optional[int] = Field(default=None, description="拖欠工资种类1个人2团队", examples=["test"])
    wagearrearspep: Optional[int] = Field(default=None, description="拖欠工资人数", examples=["test"])
    totalamountwages: Optional[Union[int, float]] = Field(default=None, description="拖欠工资总金额", examples=["test"])
    name: Optional[str] = Field(default=None, description="姓名", examples=["test"])
    card: Optional[str] = Field(default=None, description="身份证号码", examples=["test"])
    phone: Optional[str] = Field(default=None, description="联系电话", examples=["test"])
    nation: Optional[str] = Field(default=None, description="民族", examples=["test"])
    area: Optional[str] = Field(default=None, description="地区", examples=["test"])
    address: Optional[str] = Field(default=None, description="详细地址", examples=["test"])
    reportfiles: Optional[str] = Field(default=None, description="添加投诉举报凭证", examples=["test"])
    addtime: Optional[int] = Field(default=None, description="添加时间", examples=["test"])
    status: Optional[str] = Field(default='未处理', description="处理状态")
    reply_content: Optional[str] = Field(default=None, description="回复内容", examples=["test"])
    reply_time: Optional[int] = Field(default=None, description="回复时间", examples=["test"])
